package base;

/**
 * @AUTHOR LYF
 * @DATE 2022/2/14
 * @VERSION 1.0
 * @DESC
 * 一、同步的基础理论
 * 1.CAS和Volatile（JDK1.5之前保证同步的方案
 * 2.CAS是硬件底层的算法【原子性问题】
 * 思想是：保证多线程竞争共享资源时，只能有一个线程获取资源成功
 * 原子性问题：i++操作实际上是多步操作 ，读 改 写。
 * AtomicInteger:原理则是进行加锁，  //底层采用CAS实现？

 * 3.Volatile是内存可见性问题
 *  弄清 主存和线程的关系内存模型
 *
 * 二、关于CLH、AQS、CAS【https://www.cnblogs.com/liang1101/p/12792303.html】
 * ！！
 *synchronized:独占锁，悲观锁；CAS：乐观锁
  Lock比synchronized更适合在应用层扩展
 */
public class VolatileDemo {
}
